package main

import "fmt"

//method是属于结构的方法
// 注意一下两个方法，一个有星号，一个没有
// method can be defined for either pointer or value receive types

type rect struct {
	width,height int
}

func (r *rect) area() int {
	return r.width * r.height
}

func (r rect) perim() int {
	return 2*r.width + 2*r.height
}

func main() {
	r := rect{width:10, height:5}

	fmt.Println("area: ", r.area())
	fmt.Println("perim: ", r.perim())

	rp := &r
	fmt.Println("area: ", rp.area())
	fmt.Println("perim", rp.perim())
}



